﻿using System;
using System.Collections.Generic;
using System.Linq;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            //List<Node> nodes = new List<Node>
            //{
            //    new Node
            //    {
            //        Id = 1,
            //        Name = "1",
            //        Children = new List<Node>
            //        {
            //            new Node
            //            {
            //                Id = 11,
            //                Name = "1-1"
            //            },
            //            new Node
            //            {
            //                Id = 12,
            //                Name = "1-2"
            //            },
            //        }
            //    },
            //    new Node
            //    {
            //        Id = 2,
            //        Name = "2",
            //        Children = new List<Node>
            //        {
            //            new Node
            //            {
            //                Id = 21,
            //                Name = "2-1",
            //                Children = new List<Node>
            //                {
            //                    new Node
            //                    {
            //                        Id=211,
            //                        Name="2-1-1"
            //                    },
            //                    new Node
            //                    {
            //                        Id=212,
            //                        Name="2-1-2"
            //                    }
            //                }
            //            },
            //            new Node
            //            {
            //                Id = 22,
            //                Name = "2-2"
            //            },
            //        }
            //    },
            //};

            //var flatNodes = GetFlatNodes(nodes);

            List<Node> flatNodes = new List<Node>
            {
                new Node{Id=1,Name="1"},
                new Node{Id=11,Name="1-1",Pid=1},
                new Node{Id=12,Name="1-2",Pid=1},
                new Node{Id=121,Name="1-2-1",Pid=12},
                new Node{Id=122,Name="1-2-2",Pid=12},
                new Node{Id=2,Name="2"},
                new Node{Id=21,Name="2-1",Pid=2},
            };
            var treeNodes = TreeNodeService.GetTreeNodes(flatNodes);

            Console.WriteLine("Done");
            Console.ReadKey();
        }

        
        
    }
}
